package com.letian.record.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.letian.common.annotation.Excel;
import com.letian.common.core.domain.BaseEntity;

/**
 * 族谱成员对象 record_genealogy_member
 * 
 * @author bmz
 * @date 2025-07-20
 */
public class RecordGenealogyMember extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long genealogyMemberId;

    /** 所属族谱 */
    @Excel(name = "所属族谱")
    private Long genealogyId;

    /** 父编号 */
    @Excel(name = "父编号")
    private Long parentId;

    /** 配偶 */
    @Excel(name = "配偶")
    private Long spouseId;

    /** 头像 */
    @Excel(name = "头像")
    private String headPortrait;

    /** 父关系 */
    @Excel(name = "父关系")
    private String relation;

    /** 姓氏 */
    @Excel(name = "姓氏")
    private String surname;

    /** 名字 */
    @Excel(name = "名字")
    private String memberName;

    /** 性别 */
    @Excel(name = "性别")
    private String gender;

    /** 排行 */
    @Excel(name = "排行")
    private String ranking;

    /** 生日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthdate;

    /** 出生地 */
    @Excel(name = "出生地")
    private String birthplace;

    /** 字辈 */
    @Excel(name = "字辈")
    private String generation;

    /** 别名 */
    @Excel(name = "别名")
    private String nickname;

    /** 成员状态 */
    @Excel(name = "成员状态")
    private String memberStatus;

    /** 备注 */
    @Excel(name = "备注")
    private String notes;

    /** 是否健在 */
    @Excel(name = "是否健在")
    private Integer isAlive;

    /** 关联此人 */
    @Excel(name = "关联此人")
    private Integer isRelated;

    /** 介绍 */
    @Excel(name = "介绍")
    private String introduction;

    /** 名族 */
    @Excel(name = "名族")
    private String ethnicity;

    /** 血型 */
    @Excel(name = "血型")
    private String bloodType;

    /** 现居地 */
    @Excel(name = "现居地")
    private String currentAddress;

    /** 学校 */
    @Excel(name = "学校")
    private String school;

    /** 学历 */
    @Excel(name = "学历")
    private String education;

    /** 单位 */
    @Excel(name = "单位")
    private String workPlace;

    /** 职位 */
    @Excel(name = "职位")
    private String position;

    /** 删除标识 */
    private String delFlag;

    public void setGenealogyMemberId(Long genealogyMemberId) 
    {
        this.genealogyMemberId = genealogyMemberId;
    }

    public Long getGenealogyMemberId() 
    {
        return genealogyMemberId;
    }
    public void setGenealogyId(Long genealogyId) 
    {
        this.genealogyId = genealogyId;
    }

    public Long getGenealogyId() 
    {
        return genealogyId;
    }
    public void setParentId(Long parentId) 
    {
        this.parentId = parentId;
    }

    public Long getParentId() 
    {
        return parentId;
    }
    public void setSpouseId(Long spouseId) 
    {
        this.spouseId = spouseId;
    }

    public Long getSpouseId() 
    {
        return spouseId;
    }
    public void setHeadPortrait(String headPortrait) 
    {
        this.headPortrait = headPortrait;
    }

    public String getHeadPortrait() 
    {
        return headPortrait;
    }
    public void setRelation(String relation) 
    {
        this.relation = relation;
    }

    public String getRelation() 
    {
        return relation;
    }
    public void setSurname(String surname) 
    {
        this.surname = surname;
    }

    public String getSurname() 
    {
        return surname;
    }
    public void setMemberName(String memberName) 
    {
        this.memberName = memberName;
    }

    public String getMemberName() 
    {
        return memberName;
    }
    public void setGender(String gender) 
    {
        this.gender = gender;
    }

    public String getGender() 
    {
        return gender;
    }
    public void setRanking(String ranking) 
    {
        this.ranking = ranking;
    }

    public String getRanking() 
    {
        return ranking;
    }
    public void setBirthdate(Date birthdate) 
    {
        this.birthdate = birthdate;
    }

    public Date getBirthdate() 
    {
        return birthdate;
    }
    public void setBirthplace(String birthplace) 
    {
        this.birthplace = birthplace;
    }

    public String getBirthplace() 
    {
        return birthplace;
    }
    public void setGeneration(String generation) 
    {
        this.generation = generation;
    }

    public String getGeneration() 
    {
        return generation;
    }
    public void setNickname(String nickname) 
    {
        this.nickname = nickname;
    }

    public String getNickname() 
    {
        return nickname;
    }
    public void setMemberStatus(String memberStatus) 
    {
        this.memberStatus = memberStatus;
    }

    public String getMemberStatus() 
    {
        return memberStatus;
    }
    public void setNotes(String notes) 
    {
        this.notes = notes;
    }

    public String getNotes() 
    {
        return notes;
    }
    public void setIsAlive(Integer isAlive) 
    {
        this.isAlive = isAlive;
    }

    public Integer getIsAlive() 
    {
        return isAlive;
    }
    public void setIsRelated(Integer isRelated) 
    {
        this.isRelated = isRelated;
    }

    public Integer getIsRelated() 
    {
        return isRelated;
    }
    public void setIntroduction(String introduction) 
    {
        this.introduction = introduction;
    }

    public String getIntroduction() 
    {
        return introduction;
    }
    public void setEthnicity(String ethnicity) 
    {
        this.ethnicity = ethnicity;
    }

    public String getEthnicity() 
    {
        return ethnicity;
    }
    public void setBloodType(String bloodType) 
    {
        this.bloodType = bloodType;
    }

    public String getBloodType() 
    {
        return bloodType;
    }
    public void setCurrentAddress(String currentAddress) 
    {
        this.currentAddress = currentAddress;
    }

    public String getCurrentAddress() 
    {
        return currentAddress;
    }
    public void setSchool(String school) 
    {
        this.school = school;
    }

    public String getSchool() 
    {
        return school;
    }
    public void setEducation(String education) 
    {
        this.education = education;
    }

    public String getEducation() 
    {
        return education;
    }
    public void setWorkPlace(String workPlace) 
    {
        this.workPlace = workPlace;
    }

    public String getWorkPlace() 
    {
        return workPlace;
    }
    public void setPosition(String position) 
    {
        this.position = position;
    }

    public String getPosition() 
    {
        return position;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("genealogyMemberId", getGenealogyMemberId())
            .append("genealogyId", getGenealogyId())
            .append("parentId", getParentId())
            .append("spouseId", getSpouseId())
            .append("headPortrait", getHeadPortrait())
            .append("relation", getRelation())
            .append("surname", getSurname())
            .append("memberName", getMemberName())
            .append("gender", getGender())
            .append("ranking", getRanking())
            .append("birthdate", getBirthdate())
            .append("birthplace", getBirthplace())
            .append("generation", getGeneration())
            .append("nickname", getNickname())
            .append("memberStatus", getMemberStatus())
            .append("notes", getNotes())
            .append("isAlive", getIsAlive())
            .append("isRelated", getIsRelated())
            .append("introduction", getIntroduction())
            .append("ethnicity", getEthnicity())
            .append("bloodType", getBloodType())
            .append("currentAddress", getCurrentAddress())
            .append("school", getSchool())
            .append("education", getEducation())
            .append("workPlace", getWorkPlace())
            .append("position", getPosition())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
